#pragma once
#include <vector>
class JImpl;

class JsonParser
{
public:
	JsonParser(const std::wstring& data, bool copyData = false);
	~JsonParser();

	bool Parent();
	bool Child();
	bool Child(const wchar_t* name);
	bool Next();
	
	template<typename T>
	bool Attrib(const wchar_t* name, T& value);
	
	template<typename T>
	bool Array(const wchar_t* name, std::vector<T>& values);

private:
	JImpl* mImpl;
};
